package com.duty.variables;

// all variables for calculating alcohol duties
public class AlcoholVariables {

	//change variables here
	
	private double gst = 0.05;
		
	//Federal Excise Duty
	private double exciseDutyGreaterThan7 = 11.696;
	private double exciseDutyLessThan7 = 0.295;
	private double wineDutyOne = 0.62;
	private double wineDutyTwo = 0.295;
	private double wineDutyThree = 0.0205;
	private double beerDuty = 0.3122;
	
		
	//Customs Tariffs
	private double rumTariff = 0.2456;    //cents per liter
	private double ginTariff = 0.0492;
	private double vodkaTariff = 0.1228;
	private double liqueursTariff = 0.1228;
	private double ciderTariff = 0.03;
	private double ciderTariff2 = 0.2816;
	
	//Customs Tariffs for Wine
	private double ausWineTariff = 0.275;
	private double nzWineTariff = 0.275;
	private double thirteenSeven = 0.0187;
	private double fourteenNine = 0.0468;
	
	
	
	//Provincial Markups
	
		//Ontario
	private double ontarioHST = .13;
	private double ontarioSpiritsMarkup = .599;
	private double ontarioSpiritCoolersMarkup = .329;
	private double ontarioWineMarkup = .396;
	private double ontarioWineCoolersMarkup = .29;
	private double ontarioSparklingWineMarkup = .396;
	private double ontarioBeerMarkup = .676;
	private double ontarioCiderMarkup = .279;
	
		//Quebec
	private double quebecPST = 0.085;     //rising to 9.5% Jan. 1st 2012
	private double quebecSpiritsMarkup = 1.24;
	private double quebecMarkupBrandy = 1.26;
	private double quebecSpecificTax = .89;
	private double quebecWineMarkup = .66;
	private double quebecSparklingWineMarkup = .72;
	private double quebecBeerMarkup = .40;

	
		//British Columbia
	private double bcHST = .12;
	private double bcSpiritsMarkup = 1.5;
	private double minSpiritsMarkup = 13.19;
	private double maxSpiritsMarkup = 40;
	private double minCoolersMarkup = 1.27;
	private double minWineCoolersMarkup = 1.27;
	private double bcSpiritCoolersMarkup = .7;
	private double bcWineCoolersMarkup = .7;
	private double bcWineMarkup = .85;
	private double minWineMarkup = 2.44;
	private double maxWineMarkup = 17.0;
	private double bcSparklingWineMarkup = .85;
	private double bcCiderMarkup = .7;
	private double bcBeerMarkup = .55;
	private double minBeerMarkup = 1.13;
	
		//New Brunswick
	private double newBrunswickHST = .13;
	private double newBrunswickSpiritsMarkup = 1.37;
	private double newBrunswickSpiritCoolersMarkup = .7;
	private double newBrunswickWineMarkup = .7;
	private double newBrunswickWineCoolersMarkup = .7;
	private double newBrunswickSparklingWineMarkup = .7;
	private double newBrunswickCiderMarkup = .7;
	private double newBrunswickBeerMarkup = .82;
	
		//Manitoba
	private double manitobaPST = .07;
	private double manitobaSpiritsMarkup = .40;
	private double manitobaSpiritCoolersMarkup = .08;
	private double manitobaWineMarkup = .12;
	private double manitobaWineCoolersMarkup = .08;
	private double manitobaSparklingWineMarkup = .16;
	private double manitobaCiderMarkup = .08;
	private double manitobaBeerMarkup = .04;
	
		//Saskatchewan
	private double saskPST = .07;
	private double saskSpiritsMarkup = .409;
	private double saskSpiritCoolersMarkup = .044;
	private double saskWineMarkup = .086;
	private double saskWineCoolersMarkup = .044;
	private double saskSparklingWineMarkup = .086;
	private double saskBeerMarkup = .031;
	private double saskCiderMarkup = .044;
	
		//Alberta
	private double albertaSpiritsMarkup = .15;
	private double albertaSpiritsCoolersMarkup = .05;
	private double albertaWineMarkup = .10;
	private double albertaWineCoolersMarkup = .05;
	private double albertaSparklingWineMarkup = .15;
	private double albertaCiderMarkup = .05;
	private double albertaBeerMarkup = .01;
	
		//Nfld.
	private double nfldHST = .13;
	private double nfldSpiritsMarkup = .52;
	private double nfldSpiritCoolersMarkup = .06;
	private double nfldWineMarkup = .35;
	private double nfldWineCoolersMarkup = .06;
	private double nfldSparklingWineMarkup = .35;
	private double nfldBeerMarkup = .06;
	private double nfldCiderMarkup = .06;
	
	//Nova Scotia
	private double novaScotiaHST = .15;
	private double novaScotiaSpiritsMarkup = .15;
	private double novaScotiaSpiritCoolersMarkup = .05;
	private double novaScotiaWineMarkup = .10;
	private double novaScotiaWineCoolersMarkup = .05;
	private double novaScotiaSparklingWineMarkup = .15;
	private double novaScotiaBeerMarkup = .01;
	private double novaScotiaCiderMarkup = .05;

	
	//P.E.I.
	private double peiPST = .10;
	private double peiSpiritsMarkup = .15;
	private double peiSpiritCoolersMarkup = .05;
	private double peiWineMarkup = .10;
	private double peiWineCoolersMarkup = .05;
	private double peiSparklingWineMarkup = .15;
	private double peiBeerMarkup = .01;
	private double peiCiderMarkup = .05;
	
	//Yukon
	private double yukonSpiritsMarkup = .15;
	private double yukonSpiritCoolersMarkup = .05;
	private double yukonWineMarkup = .10;
	private double yukonWineCoolersMarkup = .05;
	private double yukonSparklingWineMarkup = .15;
	private double yukonBeerMarkup = .01;
	private double yukonCiderMarkup = .05;
	
	
	// empty constructor
	public AlcoholVariables(){
				
	}
	
	// GST
	public double getGST(){
		
		return gst;
	}

	
	//Federal Excise Duty		
	public double getExciseDutyGreaterThan7(){
		
		return exciseDutyGreaterThan7;
	}
	
	public double getWineDutyOne(){
		
		return wineDutyOne;
	}
	
	public double getWineDutyTwo(){
		
		return wineDutyTwo;
	}
	
	public double getWineDutyThree(){
		
		return wineDutyThree;
	}
	
	public double getExciseDutyLessThan7(){
		
		return exciseDutyLessThan7;
	}
	
	public double getBeerDuty(){
		
		return beerDuty;
	}
	
	
	//Customs Tariffs
	public double getRumTariff(){
		
		return rumTariff;
	}
	
	public double getGinTariff(){
		
		return ginTariff;
	}
	
	public double getVodkaTariff(){
		
		return vodkaTariff;
	}
	
	public double getLiqueursTariff(){
		
		return liqueursTariff;
	}
	
	public double getAusWineTariff(){
		
		return ausWineTariff;
	}
	
	public double getNzWineTariff(){
		
		return nzWineTariff;
	}
	
	public double getThirteenTariff(){
		
		return thirteenSeven;
	}
	
	public double getFourteenTariff(){
		
		return fourteenNine;
	}
	
	public double getCiderTariff(){
		
		return ciderTariff;
	}
	
	public double getCiderTariff2(){
		
		return ciderTariff2;
	}
	
		
	//Provincial Markups	
	
	//Ontario
	public double getOntarioHST(){
		
		return ontarioHST;
	}
	
	public double getOntarioSpiritsMarkup(){
		
		return ontarioSpiritsMarkup;
	}
	
	public double getOntarioSpiritCoolersMarkup(){
		
		return ontarioSpiritCoolersMarkup;
	}
	
	public double getOntarioWineMarkup(){
		
		return ontarioWineMarkup;
	}
	
	public double getOntarioWineCoolersMarkup(){
		
		return ontarioWineCoolersMarkup;
	}
	
	public double getOntarioSparklingWineMarkup(){
		
		return ontarioSparklingWineMarkup;
	}
	
	public double getOntarioBeerMarkup(){
		
		return ontarioBeerMarkup;
	}
	
	public double getOntarioCiderMarkup(){
		
		return ontarioCiderMarkup;
	}
	
	//Quebec
	public double getQuebecSpiritsMarkup(){
		
		return quebecSpiritsMarkup;
	}
	
	public double getQuebecBrandyMarkup(){
		
		return quebecMarkupBrandy;
	}
	
	public double getQuebecSpecificTax(){
		
		return quebecSpecificTax;
	}
	
	public double getQuebecPST(){
		
		return quebecPST;
	}
	
	public double getQuebecWineMarkup(){
		
		return quebecWineMarkup;
	}
	
	public double getQuebecSparklingWineMarkup(){
		
		return quebecSparklingWineMarkup;
	}
	
	public double getQuebecBeerMarkup(){
		
		return quebecBeerMarkup;
	}
	
	//British Columbia
	public double getBCHST(){
		
		return bcHST;
	}
	
	public double getBCSpiritsMarkup(){
		
		return bcSpiritsMarkup;
	}
	
	public double getBCMinSpiritsMarkup(){
		
		return minSpiritsMarkup;
	}
	
	public double getBCMaxSpiritsMarkup(){
		
		return maxSpiritsMarkup;
	}
	
	public double getBCMinCoolersMarkup(){
		
		return minCoolersMarkup;
	}
	
	public double getBCMinWineCoolersMarkup(){
		
		return minWineCoolersMarkup;
	}
	
	public double getBCSpiritCoolersMarkup(){
		
		return bcSpiritCoolersMarkup;
	}
	
	public double getBCWineCoolersMarkup(){
		
		return bcWineCoolersMarkup;
	}
	
	public double getBCWineMarkup(){
		
		return bcWineMarkup;
	}
	
	public double getBCMinWineMarkup(){
		
		return minWineMarkup;
	}
	
	public double getBCMaxWineMarkup(){
		
		return maxWineMarkup;
	}
	
	public double getBCSparklingWineMarkup(){
		
		return bcSparklingWineMarkup;
	}
	
	public double getBCCiderMarkup(){
		
		return bcCiderMarkup;
	}
	
	public double getBCBeerMarkup(){
		
		return bcBeerMarkup;
	}
	
	public double getBCMinBeerMarkup(){
		
		return minBeerMarkup;
	}
	


	//New Brunswick
	public double getNewBrunswickHST(){
		
		return newBrunswickHST;
	}
	
	public double getNewBrunswickSpiritsMarkup(){
		
		return newBrunswickSpiritsMarkup;
	}
	
	public double getNewBrunswickSpiritCoolersMarkup(){
		
		return newBrunswickSpiritCoolersMarkup;
	}
	
	public double getNewBrunswickWineMarkup(){
		
		return newBrunswickWineMarkup;
	}
	
	public double getNewBrunswickWineCoolersMarkup(){
		
		return newBrunswickWineCoolersMarkup;
	}
	
	public double getNewBrunswickSparklingWineMarkup(){
		
		return newBrunswickSparklingWineMarkup;
	}
	
	public double getNewBrunswickCiderMarkup(){
		
		return newBrunswickCiderMarkup;
	}
	
	public double getNewBrunswickBeerMarkup(){
		
		return newBrunswickBeerMarkup;
	}
	
	//Manitoba
	public double getManitobaPST(){
		
		return manitobaPST;
	}
	
	public double getManitobaSpiritsMarkup(){
		
		return manitobaSpiritsMarkup;
	}
	
	public double getManitobaSpiritCoolersMarkup(){
		
		return manitobaSpiritCoolersMarkup;
	}
	
	public double getManitobaWineCoolersMarkup(){
		
		return manitobaWineCoolersMarkup;
	}
	
	public double getManitobaWineMarkup(){
		
		return manitobaWineMarkup;
	}
	
	public double getManitobaSparklingWineMarkup(){
		
		return manitobaSparklingWineMarkup;
	}
	
	public double getManitobaCiderMarkup(){
		
		return manitobaCiderMarkup;
	}
	
	public double getManitobaBeerMarkup(){
		
		return manitobaBeerMarkup;
	}
	
	//Saskatchewan
	public double getSaskPST(){
		
		return saskPST;
	}
	
	public double getSaskSpiritsMarkup(){
		
		return saskSpiritsMarkup;
	}
	
	public double getSaskSpiritCoolersMarkup(){
		
		return saskSpiritCoolersMarkup;
	}
	
	public double getSaskWineMarkup(){
		
		return saskWineMarkup;
	}
	
	public double getSaskWineCoolersMarkup(){
		
		return saskWineCoolersMarkup;
	}
	
	public double getSaskSparklingWineMarkup(){
		
		return saskSparklingWineMarkup;
	}
	
	public double getSaskBeerMarkup(){
		
		return saskBeerMarkup;
	}
	
	public double getSaskCiderMarkup(){
		
		return saskCiderMarkup;
	}
	
	//Alberta
	public double getAlbertaSpiritsMarkup(){
		
		return albertaSpiritsMarkup;
	}
	
	public double getAlbertaSpiritsCoolersMarkup(){
		
		return albertaSpiritsCoolersMarkup;
	}
	
	public double getAlbertaWineMarkup(){
		
		return albertaWineMarkup;
	}
	
	public double getAlbertaWineCoolersMarkup(){
		
		return albertaWineCoolersMarkup;
	}
	
	public double getAlbertaSparklingWineMarkup(){
		
		return albertaSparklingWineMarkup;
	}
	
	public double getAlbertaCiderMarkup(){
		
		return albertaCiderMarkup;
	}
	
	public double getAlbertaBeerMarkup(){
		
		return albertaBeerMarkup;
	}
	
	
	//Nfld
	public double getNfldHST(){
		
		return nfldHST;
	}
	
	public double getNfldSpiritsMarkup(){
		
		return nfldSpiritsMarkup;
	}
	
	public double getNfldSpiritCoolersMarkup(){
		
		return nfldSpiritCoolersMarkup;
	}
	
	public double getNfldWineCoolersMarkup(){
		
		return nfldWineCoolersMarkup;
	}
	
	public double getNfldWineMarkup(){
		
		return nfldWineMarkup;
	}
	
	public double getNfldSparklingWineMarkup(){
		
		return nfldSparklingWineMarkup;
	}
	
	public double getNfldBeerMarkup(){
		
		return nfldBeerMarkup;
	}
	
	public double getNfldCiderMarkup(){
		
		return nfldCiderMarkup;
	}
	
	//Nova Scotia
	public double getNovaScotiaHST(){
		
		return novaScotiaHST;
	}
	
	public double getNovaScotiaSpiritsMarkup(){
		
		return novaScotiaSpiritsMarkup;
	}
	
	public double getNovaScotiaSpiritCoolersMarkup(){
		
		return novaScotiaSpiritCoolersMarkup;
	}
	
	public double getNovaScotiaWineMarkup(){
		
		return novaScotiaWineMarkup;
	}
	
	public double getNovaScotiaWineCoolersMarkup(){
		
		return novaScotiaWineCoolersMarkup;
	}
	
	public double getNovaScotiaSparklingWineMarkup(){
		
		return novaScotiaSparklingWineMarkup;
	}
	
	public double getNovaScotiaBeerMarkup(){
		
		return novaScotiaBeerMarkup;
	}
	
	public double getNovaScotiaCiderMarkup(){
		
		return novaScotiaCiderMarkup;
	}
	
	
	//P.E.I.
	public double getPeiPST(){
		
		return peiPST;
	}
	
	public double getPeiSpiritsMarkup(){
		
		return peiSpiritsMarkup;
	}
	
	public double getPeiSpiritCoolersMarkup(){
		
		return peiSpiritCoolersMarkup;
	}
	
	public double getPeiWineMarkup(){
		
		return peiWineMarkup;
	}
	
	public double getPeiWineCoolersMarkup(){
		
		return peiWineCoolersMarkup;
	}
	
	public double getPeiSparklingWineMarkup(){
		
		return peiSparklingWineMarkup;
	}
	
	public double getPeiBeerMarkup(){
		
		return peiBeerMarkup;
	}
	
	public double getPeiCiderMarkup(){
		
		return peiCiderMarkup;
	}
	
	
	
	//Yukon
	public double getYukonSpiritsMarkup(){
		
		return yukonSpiritsMarkup;
	}
	
	public double getYukonSpiritCoolersMarkup(){
		
		return yukonSpiritCoolersMarkup;
	}
	
	public double getYukonWineMarkup(){
		
		return yukonWineMarkup;
	}
	
	public double getYukonWineCoolersMarkup(){
		
		return yukonWineCoolersMarkup;
	}
	
	public double getYukonSparklingWineMarkup(){
		
		return yukonSparklingWineMarkup;
	}
	
	public double getYukonBeerMarkup(){
		
		return yukonBeerMarkup;
	}
	
	public double getYukonCiderMarkup(){
		
		return yukonCiderMarkup;
	}
	
	
	
}
